package com.cskaoyan.controller.admin.configcontroller;

import com.cskaoyan.service.configservice.ConfigService;
import com.cskaoyan.vo.BaseRespVo;
import com.cskaoyan.vo.configvo.ConfigExpressVo;
import com.cskaoyan.vo.configvo.ConfigMallVo;
import com.cskaoyan.vo.configvo.ConfigOrderVo;
import com.cskaoyan.vo.configvo.ConfigWxVo;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

/**
 * @author ked
 * @createTime 2021年05月09日 23:13:00
 */

@RestController
public class ConfigController {

    @Autowired
    ConfigService configService;

    //商城配置查看及修改
    @RequiresPermissions("admin:config:mall:list")
    @RequestMapping("admin/config/mall")
    public BaseRespVo mallConfig(){
        ConfigMallVo configMallVo = configService.queryMall();
        return BaseRespVo.ok(configMallVo,"成功");
    }

    @RequiresPermissions("admin:config:mall:updateConfigs")
    @PostMapping("admin/config/mall")
    public BaseRespVo mallConfigUpdate(@RequestBody ConfigMallVo configMallVo){
        configService.updateMall(configMallVo);
        return BaseRespVo.ok(null,"成功");
    }

    //
    //运费配置查看及修改
    @RequiresPermissions("admin:config:express:list")
    @RequestMapping("admin/config/express")
    public BaseRespVo expressConfig(){
        ConfigExpressVo configExpressVo = configService.queryExpress();
        return BaseRespVo.ok(configExpressVo,"成功");
    }

    @RequiresPermissions("admin:config:express:updateConfigs")
    @PostMapping("admin/config/express")
    public BaseRespVo expressConfigUpdate(@RequestBody ConfigExpressVo configExpressVo){
        configService.updateExpress(configExpressVo);
        return BaseRespVo.ok(null,"成功");
    }

    //
    //订单配置查看及修改
    @RequiresPermissions("admin:config:order:list")
    @RequestMapping("admin/config/order")
    public BaseRespVo orderConfig(){
        ConfigOrderVo configOrderVo = configService.queryOrder();
        return BaseRespVo.ok(configOrderVo,"成功");
    }

    @RequiresPermissions("admin:config:order:updateConfigs")
    @PostMapping("admin/config/order")
    public BaseRespVo orderConfigUpdate(@RequestBody ConfigOrderVo configOrderVo){
        configService.updateOrder(configOrderVo);
        return BaseRespVo.ok(null,"成功");
    }

    //
    //小程序配置查看及修改
    @RequiresPermissions("admin:config:wx:list")
    @RequestMapping("admin/config/wx")
    public BaseRespVo wxConfig(){
        ConfigWxVo configWxVo = configService.queryWx();
        return BaseRespVo.ok(configWxVo,"成功");
    }

    @RequiresPermissions("admin:config:wx:updateConfigs")
    @PostMapping("admin/config/wx")
    public BaseRespVo wxConfigUpdate(@RequestBody ConfigWxVo configWxVo){
        configService.updateWx(configWxVo);
        return BaseRespVo.ok(null,"成功");
    }
}
